//action creator action生成器
//调用switchSize函数，得到一个对象，这个对象就是action
import {fetchLogin,fetchUserInfo} from '@/api/user.js'
export function  switchSize(size){
    return {type:"APP_SIZE",payload:size}
}
export function  switchLang(lang){
    return {type:"APP_LANG",payload:lang}
}
export function  switchColor(color){
    return {type:"APP_COLOR",payload:color}
}
//写一个异步的action creater
export function login(data){
    //异步的action creater 是返回的一个函数
    return dispatch=>{
        //dispatch目的是用于派发一个同步的action
        //在这里，就可以写异步代码了
        fetchLogin(data).then(({token})=>{
            if(token){
                localStorage.setItem("token",token)
                //需要派发一个同步的action,把token存储到redux中
                dispatch({type:"USER_LOGIN",payload:token})
            }
        })
    }
}

export function getInfo(){
    return dispatch=>{
        fetchUserInfo().then(res=>{
             // console.log("用户信息：", res);
             if(res&&res.roles){
                dispatch({type:"USER_INFO",payload:res})
             }
        })
    }
}
export function resetUser(){
    return {type:"USER_RESET",payload:null}
}